package game;

import java.awt.Color;


import asciiPanel.AsciiPanel;

public class GeneratoreAttori {
	private Amministratore amministratore;
	private Attore player;
	
	public GeneratoreAttori(Amministratore amministratore){
		this.amministratore = amministratore;
	}
	/*
	 * Creazione nuovo giocatore con arma
	 * @return attore corrispondente al player
	 */
	public Attore newPlayer(){
		Arma arma=new Arma("spada corta",0.7,10);
		Color colore = AsciiPanel.brightWhite;
		player = new Player(amministratore, '@', colore ,"player", 100,-1, 20, 5,arma);
		amministratore.addPlayer(player);
	
		return player;
	}
	/*
	 * Carimento giocatore da file
	 * @tok[] array con i parametri per la creazione del player
	 */
	public Attore newPlayer(String [] tok){
		Arma arma=new Arma(tok[7],0.7,Integer.parseInt(tok[9]));
		Color colore = AsciiPanel.brightWhite;
		player = new Player(amministratore, '@', colore ,tok[0], Integer.parseInt(tok[3]), Integer.parseInt(tok[4]),Integer.parseInt(tok[5]), Integer.parseInt(tok[6]), 
				arma);
		amministratore.addPlayer(player,Integer.parseInt(tok[1]),Integer.parseInt(tok[2]));
		
		return player;
	}
	/*nuovo attore di tipo Boss
	 * @return un oggetto di tipo attore
	 * */
	public Attore newBoss(){
		Arma arma=new Arma("excalibur",1,20);
		Color colore=AsciiPanel.brightRed;
		Attore boss = new Boss(amministratore, 'K', colore,"The Boss", 50,-1, 0, 0,arma);
		amministratore.addAtEmptyLocation(boss);
		
		return boss;
	}
	/*Caricamento da file di un attore di tipo Boss
	 * @param tok array dei paramentri per creare attore Boss
	 * */
	public Attore newBoss(String [] tok){
		Arma arma=new Arma("excalibur",1,30);
		Color colore=AsciiPanel.brightRed;
		Attore boss = new Boss(amministratore, 'K', colore,"The Boss", 50,-1, 0, 0,arma);
		amministratore.addAtLocation(boss,Integer.parseInt(tok[1]),Integer.parseInt(tok[2]));
		
		return boss;
	}
	
	public Attore newOrco(){
		Arma arma=new Arma("mazza",1,5);
		Color colore=AsciiPanel.yellow;
		Attore orco = new Orco(amministratore, 'O', colore, "orco", 15,-1, 5, 0,arma);
		amministratore.addAtEmptyLocation(orco);
		
		return orco;
	}
	public Attore newOrco(String [] tok){
		Arma arma=new Arma("mazza",1,5);
		Color colore=AsciiPanel.yellow;
		Attore orco = new Orco(amministratore, 'O', colore, "orco", 15,Integer.parseInt(tok[4]), 5, 0,arma);
		amministratore.addAtLocation(orco,Integer.parseInt(tok[1]),Integer.parseInt(tok[2]));
		
		return orco;
	}


}
